Runtime and Language Support for Compiling Adaptive Irregular Programs on Distributed-memory Machines

نویسندگان

  • Yuan-Shin Hwang
  • Bongki Moon
  • Shamik D. Sharma
  • Ravi Ponnusamy
  • Raja Das
  • Joel H. Saltz
چکیده

In many scientific applications, arrays containing data are indirectly indexed through indirection arrays. Such scientific applications are called irregular programs and are a distinct class of applications that require special techniques for parallelization. This paper presents a library called CHAOS, which helps users implement irregular programs on distributed memory message-passing machines, such as the Paragon, Delta, CM-5 and SP-1. The CHAOS library provides efficient runtime primitives for distributing data and computation over processors; it supports efficient index translation mechanisms and provides users high-level mechanisms for optimizing communication. CHAOS subsumes the previous PARTI library and supports a larger class of applications. In particular, it provides efficient support for parallelization of adaptive irregular programs where indirection arrays are modified during the course of computation. To demonstrate the efficacy of CHAOS, two challenging real-life adaptive applications were parallelized using CHAOS primitives: a molecular dynamics code, CHARMM, and a particle-in-cell code, DSMC. Besides providing runtime support to users, CHAOS can also be used by compilers to automatically parallelize irregular applications. This paper demonstrates how CHAOS can be effectively used in such a framework. By embedding CHAOS primitives in the Syracuse Fortran 90D/HPF compiler, kernels taken from the CHARMM and DSMC codes have been parallelized automatically.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelizing Molecular Dynamics Programs for Distributed Memory Machines: An Application of the CHAOS Runtime Support Library

CHARMM (Chemistry at Harvard Macromolecular Mechanics) is a program that is widely used to model and simulate macromolecular systems. CHARMM has been parallelized by using the CHAOS runtime support library on distributed memory architectures. This implementation distributes both data and computations over processors. This data-parallel strategy should make it possible to simulate very large mol...

متن کامل

Parallelization of Irregular Codes Including Out-of-Core Data and Index Arrays

This paper describes techniques for implementing irregular out-of-core codes on distributed memory machines. These codes involve data arrays and other data structures that are too large to t in main memory; so data needs to be stored on disks and fetched during the execution of the program. The eecient use of disk storage is a critical factor that determines the performance of these application...

متن کامل

Runtime Mechanisms for E cient Dynamic

High performance on distributed memory machines for programming models with dynamic thread creation and multithreading requires eecient thread management and communication. Traditional mul-tithreading runtimes, consisting of few general-purpose, bundled mechanisms that assume minimal compiler and hardware support, are suitable for computations involving coarse-grained threads but provide low ee...

متن کامل

Compiling Communication-eecient Programs for Massively Parallel Machines. Ieee on Compiling Array Expressions for Eecient Execution on Distributed Memory Machines. in 5.4 Compiler Optimizations 5.3 Multigrid Code 5.2 Multiblock Code

26] Max Lemke and Daniel Quinlan. P++, a C++ virtual shared grids based programming environment for architecture-independent development of structured grid applications.grid representation of emission source clusters in regional air quality modeling. 31] R. Meakin. Moving body overset grid methods for complete aircraft tiltrotor simulations, AIAA-93-3350. A multiscale nite element pollutant tra...

متن کامل

SVM Support in the Vienna Fortran Compiling System

Vienna Fortran, a machine-independent language extension to Fortran which allows the user to write programs for distributed-memory systems using global addresses, provides the forall-loop construct for specifying irregular computations that do not cause inter-iteration dependences. Compilers for distributed-memory systems generate code that is based on run-time analysis techniques and is only e...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Softw., Pract. Exper.

دوره 25  شماره 

صفحات  -

تاریخ انتشار 1995